\newcommand{\engl}[1]{(engl. {\em #1})}

%Warnung
\newcommand{\warn}[1]{\textcolor{red}{#1}}
%zusaetzliche Info
\newcommand{\info}[1]{\textcolor{blue}{#1}}
%Abkuertzung
\newcommand{\ab}[1]{({\em kurz. #1})}
%Kern-Konzept
\newcommand{\kc}[1]{{\em #1 }}
%Topic auf Deutsch
\newcommand{\topic}{\kc{Thema}}
%Topics auf Deutsch
\newcommand{\topics}{\kc{Themen}}
%Topics auf Deutsch mit Genetiv
\newcommand{\topicg}{\kc{Themas}}
%NOP
\newcommand{\nop}{\kc{NOP}}
%NOPs
\newcommand{\nops}{\kc{NOPs}}
%Action auf Deutsch
\newcommand{\action}{\kc{Aktion}}
%Actions auf Deutsch
\newcommand{\actions}{\kc{Aktionen}}
%Zone auf Deutsch
\newcommand{\zone}{\kc{Zone}}
%Zones auf Deutsch
\newcommand{\zones}{\kc{Zonen}}

%weight
\newcommand{\weight}{\kc{Gewicht}}
%weights
\newcommand{\weights}{\kc{Gewichte}}
%weights genetiv
\newcommand{\weightg}{\kc{Gewichten}}
\newcommand{\weightgs}{\kc{Gewichts}}

%zone state
\newcommand{\zonestate}{\kc{Zonenzustand}}
\newcommand{\zonestates}{\kc{Zonenzust"ande}}

\newcommand{\noe}{NOP-Engine }
\newcommand{\np}{NOP-Projekt }
\newcommand{\us}{Benutzer-Session }


\newcommand{\anno}[1]{\kc{@#1}}

%font size of tables
\newcommand{\tableFontSize}[1]{{\tiny #1}}

%describe the process to find domain objects

\newcommand{\goto}{$\longrightarrow$}




%define the colors for codes
\definecolor{purple}{rgb}{0.65, 0.12, 0.82}
\definecolor{flexred}{rgb}{0.65, 0.01, 0.01}
\definecolor{flexgreen}{rgb}{0, 0.6, 0}
\definecolor{flexgray}{rgb}{0.25, 0.37, 0.75}
\definecolor{flexblue}{rgb}{0, 0.2, 1}
\definecolor{flexfunction}{rgb}{0.2, 0.6, 0.4}
\definecolor{flexvar}{rgb}{0.4, 0.6, 0.8}
\definecolor{commentColor}{rgb}{0.5, 0.5, 0.5}
\definecolor{keywordColor}{rgb}{0.5, 0, 0.34}

%for the pseudocodes
\newcommand{\includepseudocode}[1]{
	\lstdefinelanguage{PC}{		
		morekeywords={FUNCTION},
		keywordstyle={\color{purple}\bfseries},
		emph={[1]READ, FOR, EACH, THEN, END, IF, CALL, RETURN, APPEND, TO, ELSE, IN, FROM, CREATE, WHILE, DO, ARCHIV, CLONE},
		emphstyle={[1]\color{flexgray}\textbf},
		morecomment=[n]{/*}{*/},
	}
	\lstset{
		language=PC,
		basicstyle={\small\ttfamily},
		showstringspaces=false,
		commentstyle=\color{commentColor},
		frame=single,
		numbers=left,
		numberstyle=\footnotesize, 
		columns=flexible
	}
	\lstinputlisting{#1}
}

\newcommand{\includeJavaCode}[3]{

\lstset{
	language=JAVA,
	captionpos=b,
	frame=single,
	morekeywords={Method, Class},
	keywordstyle={\color{keywordColor}},
	numbers=left,
	numberstyle=\footnotesize, 
	moreemph={[100]@Aspect, @Pointcut, @Around, @RunWith, @BeforeClass, @AfterClass, @Before, @After, @Resource, @ContextConfiguration, @Test, @SuiteClasses, @Override, @Entity, @Table, @Column, @Id, @Enumerated, @Temporal, @ManyToOne, @JoinColumn, @ManyToMany, @MapKey, @OneToMany, @JoinTable},
	emphstyle={[100]\color{commentColor}\textbf},
	commentstyle=\color{commentColor}\footnotesize,
	stringstyle=\color{flexblue},
	columns=flexible,
	caption=#2,
	label=#3
}
\lstinputlisting{#1}
}

\newcommand{\includeJavaProperty}[1]{
	\lstdefinelanguage{property}{		
		morecomment=[l]{=}
	}
	\lstset{
		language=property,
		basicstyle={\small\ttfamily},
		
		showstringspaces=false,
		%emph={[1]log4j, rootLogger, DEBUG, INFO, ERROR, ALL, FATAL, appender},
		%emphstyle={[1]\color{flexgray}\textbf},
		commentstyle=\color{flexblue},
		frame=single,
		numbers=left,
		numberstyle=\footnotesize, 
		columns=flexible
	}
	\lstinputlisting{#1}
}

\newcommand{\includeXml}[3]{
	\lstset{
		language=XML,
		basicstyle={\small\ttfamily},
		showstringspaces=false,
		stringstyle=\color{flexblue}\textbf,
		emph={[1]beans, aop, xmlns, util:map, entry, id, map-class, key, value, ContextLoaderListener, FacesServlet, bean, managed\-bean, application},
		emphstyle={[1]\color{flexred}\textbf},
		commentstyle=\color{flexgray},
		frame=single,
		numbers=left,
		numberstyle=\footnotesize, 
		columns=flexible,
		caption=#2,
		label=#3
	}
	\lstinputlisting{#1}
}

\newcommand{\includeJsp}[3]{
	\lstset{
		language=HTML,
		basicstyle={\small\ttfamily},
		showstringspaces=false,
		stringstyle=\color{flexblue}\textbf,
		emph={page, language, contentType, charset, pageEncoding, taglib, prefix, uri},
		emphstyle={[1]\color{flexred}\textbf},
		commentstyle=\color{flexgray},
		frame=single,
		columns=flexible,
		caption=#2,
		label=#3
	}
	\lstinputlisting{#1}
}


\newcommand{\tableheader}[1]{
	\multicolumn{1}{ |c| }{\cellcolor[gray]{0.8} \footnotesize \bf #1}
}


\newcommand{\jlog}{{\em Log4j }}
\newcommand{\spring}{{\em Spring }}
\newcommand{\junit}{{\em JUnit }}
\newcommand{\jmock}{{\em JMock }}
%\newcommand{}{{\em}}

\newcommand{\onemodul}{ "`NOP-Engine Frontend"' }
\newcommand{\twomodul}{ "`NOP-Engine Services"' }
\newcommand{\threemodul}{ "`NOP-Engine Kernel"' }
\newcommand{\fourmodul}{ "`NOP-Engine Persistenz"' }


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%footnote%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%definition der globalen Variablen f"ur das Projekt Gugubarra
\newcommand{\globalDef}{Globale Variablen werden eindeutig f"ur das ganze Web-Site definiert}
%web 2.0 standard
\newcommand{\webSecond}{mehr benutzer praxis \warn{nicht vollst"andig}}

%Duration profile detaillitert
\newcommand{\durP}{Zeitdauerprofil wird mit den Zeitdauern eines Benutzers auf Web-Seiten berechnet. Es geh"ort zum Algorithmus vom Gugubarra, siehe Abschnitt \ref{durP}}